package cn.hjd.dao;

import java.util.List;

import javax.faces.component.UpdateModelException;

import cn.hjd.po.ApproveList;
import cn.hjd.query.ApproveListQuery;

import com.sun.org.apache.bcel.internal.generic.Select;

public interface BaseDao {
	/**
	 * 根据 字节码实例，sql，参数进行单行查询，返回对应字节码实例的 对象
	 * clz 字节码实例  
	 * sql sql语句  select * from XXX 表 where id=？；
	 * 参数 id = 1
	 * 对应的字节码实例的反射创建的对象
	 * 
	 * */
	<T> T selectSingleRow(Class<T> clz,String sql,Object ... param);
	
	/**
	 * 通用   DML操作
	 * t 任意 对象  
	 * sql sql语句 
	 * 参数 
	 * 返回受影响的函数  一般单行插入都返回1 
	 * */
	int Update(String sql,Object...params);
	
	/**
	 * 根据条件多行查询
	 * clz 字节码实例
	 * sql 
	 * 条件参数
	 * 封装有多个 对象的List集合
	 * */
	<T> List<T> selectListRow(Class<T> clz,String sql,Object...param);
	
	/**
	 * 根据条件查询数据总数
	 * sql 语句
	 * 参数 
	 * 数据总数量 
	 * 
	 * */
	Integer selectTocalCount(String sql,Object...params);

	List<ApproveList> findByCondition();

	
	
	
}
